package com.bbva.kyfb.kyfbdaofo.implement;

import java.util.List;
import java.util.Vector;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import com.bbva.kyfb.kyfbdtofo.BdbziteDto;
import com.bbva.kyfb.kyfbdtofo.BuzonItem;
import com.bbva.kyfb.kyfbdtofo.FicheroRequest;
import com.bbva.kyfb.kyfbdtofo.RequestDto;

public interface ServicioAsistentesDao {

	@PersistenceContext(unitName = "persistenceUnitTLBH")
	public abstract void setEntityManager(EntityManager entityManager);

	public abstract List<Object[]> getEstados(String claseOrden, String numItem, String idOrden, String codcliecash);

	public abstract List<Object[]> getDetalleFichero(String numItem, String timeStamp);
	
	public abstract int actualizarBuzon(BuzonItem buzon);

	public abstract void setEntityManagerTlsb(EntityManager entityManager);

	public abstract List<Object[]> getListaICD(String bancoInterno);

	public abstract List<Object[]> getListaControlAgrupacionesBuzones(String claseOrden,
			String canal, String bancoInterno);

	public abstract List<Object[]> getListaExternalizacion(String bancoInterno);
	
	public abstract List<Object[]> getEstructuraOrden(String claseOrden);
	
	public abstract List<Object[]> getDatosOrden(String numItem, String timeStamp);

	public abstract List<Object[]> getListaFormatoFichero(String bancoInterno, String claseOrden);

	public abstract List<Object[]> getListaTratamientoFichero(String bancoInterno,
			String claseOrden);

	public abstract int altaBuzonIt(RequestDto ficheroRequest, String xtiBuzon,
			long numItem, String fecha, String hora, int via);

	public abstract int altaBuzonIte(BdbziteDto ite);

	public abstract List<Object[]> getEstadoFicheroLogico(long numItem);

	public abstract List<Object[]> getCodigoServicioGlobal(String claseOrden);

	public abstract List<Object[]> getListaServicioPermitidoCruzar(int servicioGlobal,
			int bancoInterno);

	public abstract int actualizarBuzonITE(String ref, long numItem);

	public abstract List<Object[]> asuntoEnReferenciaOrigen(FicheroRequest ficheroRequest,
			int iBancoAsuntoCruzado, int iServicioOrigen, int asunto);

	public abstract List<Object[]> getListarAsuntoCruzado(FicheroRequest fr,
			Vector<String> vDatos, int modo);
}